/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.edu.eam.persitencia.dao.Interfaz;

import co.edu.eam.persitencia.entidades.Antecedente;
import co.edu.eam.persitencia.entidades.DetalleComentarioRevision;
import co.edu.eam.persitencia.entidades.DetalleComentarioSistema;
import co.edu.eam.persitencia.entidades.DetalleHistoriaClinica;
import co.edu.eam.persitencia.entidades.ExamenFisico;
import co.edu.eam.persitencia.entidades.HistoriaClinica;
import java.util.List;

/**
 *
 * @author Erika
 */
public interface IDAOHistoriaClinica {

    /**
     * interfaz para crar historia clinica
     * @param detalleHistoria, parametro para agregar
     * @throws Exception 
     */
    public void crearDetalleHistoriaClinica(DetalleHistoriaClinica detalleHistoria) throws Exception;

    /**
     * interfaz para listar detalle historia clinica
     * @param historia, parametro para listar todos los detalles
     * @return lista con los detalles de una historia clinica
     * @throws Exception 
     */
    public List<DetalleHistoriaClinica> listarDetalleHistoriaClinica(HistoriaClinica historia) throws Exception;

    /**
     * interfaz para crear un detalle revision
     * @param detalleComentarioR, parametro a crear
     * @throws Exception 
     */
    public void crearDetalleComentarioRevision(DetalleComentarioRevision detalleComentarioR) throws Exception;

    /**
     * interfaz para listar los detalles revision
     * @param historia, parametro para listar los detalles revision
     * @return
     * @throws Exception 
     */
    public List<DetalleComentarioRevision> listarComentarioRevision(HistoriaClinica historia) throws Exception;

    /**
     * interfaz para crear detalle comentario sistema
     * @param detalleComentarioS, parametro para crear
     * @throws Exception 
     */
    public void crearDetalleComentarioSistema(DetalleComentarioSistema detalleComentarioS) throws Exception;

    /**
     * interfaz para listar los comentarios del sistema
     * @param clinica, parametro para listarle los comentarios de sistema
     * @return lista con los detalles comentario sistema
     * @throws Exception 
     */
    public List<DetalleComentarioSistema> listarComentarioSistema(HistoriaClinica clinica) throws Exception;

    /**
     * interfaz pra crear un examen fisico
     * @param examenFisico, parametro a guardar
     * @throws Exception 
     */
    public void crearExamenFisico(ExamenFisico examenFisico) throws Exception;

    /**
     * interfaz para buscar un examen fisico
     * @param cedula, parametro para buscar el examen fisico
     * @return examen fisico encontrado
     * @throws Exception 
     */
    public ExamenFisico buscarExamenFisico(String cedula) throws Exception;

    /**
     * interfaz para crear antecendente
     * @param antecedente, parametro a crear
     * @throws Exception 
     */
    public void crearAntecedente(Antecedente antecedente) throws Exception;

    /**
     * interfaz para buscar antecendete
     * @param cedula,parametro para buscar el antecendete
     * @return antecedente encontrado
     * @throws Exception 
     */
    public Antecedente buscarAntecedente(String cedula) throws Exception;

    /**
     * interfaz para crear historia clinica
     * @param historiaClinica, parametro para agregar
     * @throws Exception 
     */
    public void crearHistoriaClinica(HistoriaClinica historiaClinica) throws Exception;

    /**
     * interfaz para buscar historia clinica
     * @param documento, parametro para buscar la historia clinica
     * @return historia clinica encontrada
     * @throws Exception 
     */
    public HistoriaClinica buscarHistoriaClinica(String documento) throws Exception;

    /**
     * interfaz para listar las historias clinicas
     * @return lista con todas las historias clinicas
     * @throws Exception 
     */
    public List<HistoriaClinica> listarHistoriaClinica() throws Exception;
}
